// 手机号码验证函数
const checkPhone = (rule, value, callback) => {
    const phoneReg = /^1[3|4|5|6|7|8|9][0-9]{9}$/;
    if (!value) {
        callback(new Error("手机号码不能为空"));
    }
    if (phoneReg.test(value)) {
        callback();
    } else {
        callback(new Error("手机号码格式错误"));
    }
};

// 检查密码
const checkPass = (rule, value, callback) => {
    if (value === "") {
        callback(new Error("请输入密码"));
    } else {
        callback();
    }
};

// 确认密码
const checkPass2 = (rule, value, callback) => {
    if (value === "") {
        callback(new Error("请再次输入密码"));
    } else if (value !== reg_data.value.password) {
        callback(new Error("两次输入密码不一致!"));
    } else {
        callback();
    }
};

/**
 * 校验证件号
 */
const handleCheckDocumentNumber = (type, value) => {
    const reg_data = {
        // 身份证号
        idcard: /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/,
        // 护照
        passport: /^([a-zA-z]|[0-9]){5,17}$/,
        // 港澳身份证
        hcpassport: /^([A-Z]\d{6,10}(\(\w{1}\))?)$/,
        // 台胞证
        taiwanesesyndrome: /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/
    }

    const reg = reg_data[type];
    if (!reg) {
        return false;
    }
    return reg.test(value)
}

export {
    checkPhone,
    checkPass,
    checkPass2,
    handleCheckDocumentNumber
}